Field of the Invention
The present invention relates generally to a method and apparatus for reducing resources required for processing signals from multiple Global Navigation Satellite System (GNSS) constellations, and, more particularly, to the efficient processing of the next generation of GNSS signals.
Description of the Related Art
The next generation of GNSS signals is being developed and will soon be ready for implementation. However, the new signals create a number of reception problems, as follows: requiring higher receiver sampling rates, requiring greater receiver memory capacity due to the higher sampling rates, having greater susceptibility to interference due to the wider bandwidth caused by the higher sampling rates, causing greater difficulty in tracking multiple signal correlation peaks, requiring a more complex correlation function, causing more complicated interaction with multipath signals due to using a more complex correlation function, and causing increased range measurement error due to the use of more complex correlation functions. In the case of a receiver described herein, the increased complex sampling rate is 8fx vs. 2fx, an increase of a factor of 4. In addition, the presence of multiple signal peaks makes tracking the correct peak more difficult. Tracking a wrong peak may lead to a range error of approximately 150 meters. Current GNSS signals include Galileo GNSS Binary Offset Carrier (1,1) (BOC(1,1)) and Global Positioning System (GPS) L1-C transmissions. FIG. 1 illustrates the spectrum of exemplary GPS and Galileo signals, and FIG. 2 illustrates a prior art GPS/Galileo receiver.
In FIG. 2, the antenna 21 receives a combination of GPS and Galileo satellite signals and outputs a signal sRF. The output signal sRF is passed to a Radio Frequency (RF) block 22 that performs signal amplification, filtering, frequency translation, and outputs a signal sIF, which is typically an amplified signal whose center frequency has been reduced substantially to facilitate reasonable sampling rates. In the example provided here, the sampling rate FS=48fx=49.107 MHz, where fx=1.0230625 MHz. The signal sIF is then sampled and quantized in an array of two Analog to Digital Converters (ADCs) 23 for representing a complex signal. The resulting digitized/quantized signal sdigital is passed to the digital signal preprocessor (DSP) 24 at a complex sampling rate of 48fx. The function of the DSP 24 is to further filter the signals and may include RF Automatic Gain Control (AGC) computation and interference mitigation. The output s8fx of the DSP 24 is reduced to a complex sampling rate of 8fx. A signal storage memory 25 is connected to the DSP 24. All received GPS and Galileo satellite signals are present in the 8fx samples stored in the signal storage memory 25. Individual satellite processing is performed after the GPS and Galileo signals are stored in the signal storage memory 25, and includes a final carrier mixer 26 connected to the signal storage memory 25, a correlation block 27 connected to the signal storage memory 25, where the correlation block 27 receives an appropriate local spreading code or Lcode as input, a signal hypothesis memory 28 connected to the correlation block 27, and a signal acquire/track etc. function block 29 connected to the signal hypothesis memory 28.
The correlation operation for a particular satellite uses a local spreading code replica (Lcode) to de-spread the individual satellites. Each GPS satellite has its own course/acquisition (C/A) spreading code. The Lcode representation for a Galileo BOC(1,1) signal has a different form in that it is the combination of a Galileo satellite spreading code and a subcarrier. The subcarrier is used to transmit the Galileo satellite signal and is a 1.023 MHz square wave. The subcarrier portion of a transmission generates the dual frequency sidelobes shown in FIG. 1. To correlate with a BOC(1,1) signal, a locally generated replica of the subcarrier, as well as the satellite spreading code, must be produced as in FIG. 3 described below. The output of the DSP 24 is then stored in the signal storage memory 25.
FIG. 3 illustrates an Lcode generator 31 for locally replicating an Lcode for GPS satellite reception and an Lcode generator that includes a Galileo memory code generator 32, a subcarrier generator 33, and a multiplier 34 for multiplying the Galileo memory code with the locally replicated subcarrier to locally replicate the Lcode for Galileo satellite signals.
FIG. 4 illustrates the prior art DSP 24 of FIG. 2 that includes a complex mixer 41 for receiving a GPS/Galileo signal sampled at a complex sampling rate of 48fx. A look-up table (LUT) 42 sampled at a complex sampling rate of 48fx is connected to the complex mixer 41. A low-pass filter 43 connected to the complex mixer 41 receives a signal sampled at a complex sampling rate of 48fx. A sample-rate reducer 44 connected to the low-pass filter 43 reduces a signal sampled at a complex sampling rate of 48fx to a signal sampled at a complex sampling rate of 8fx. A re-quantizer 45 connected to the sample-rate reducer 44 outputs a 2-bit quantized GPS/Galileo signal sampled at a complex sampling rate of 8fx. The DSP 24 translates the frequency of a GPS/Galileo signal from an intermediate frequency (IF) (e.g. 7fx) to a carrier frequency near baseband, low-pass filters the translated signal at 3 MHz, and re-quantizes the signal to 2-bits (sign+magnitude). Note that the sample rate is reduced from 48fx at the output of the low-pass filter 43 to 8fx at the output of the sample-rate reducer 44.
Methods, systems, and devices are needed to address the problems caused by the new GNSS signals (e.g., higher sampling rates, wider bandwidths, multiple correlation peaks, cross-correlation issues, and increasing complexity of GNSS signals).